1. Field of the Invention
The present invention relates generally to digital communications systems and more particularly to phase offset correction in digital communications systems.
2. Description of Related Art
Framing in Digital Communications Systems
Almost all digital data streams have some sort of frame structure such that the data is organized into uniformly sized groups of bits or bytes. Any system that uses block based forward error correction (FEC) will have frames organized around the error correction code word size. Also, if the system uses interleaving to combat impulse noise, the frame structure will be arranged with the interleaver parameters in mind. If the system uses data randomization to achieve a flat spectrum, the pseudo-random sequence utilized may be synchronized to the frame structure, restarting at the beginning of each frame.
For an RF digital communications system, a receiver must typically first achieve carrier and symbol clock synchronization and equalization. It can then recover the transmitted data. But, to make sense of this incoming data stream, the receiver must also synchronize to the frame structure. In other words, the receiver must know where the error correction code words start and end. It also must be able to synchronize receiver modules such as the deinterleaver to match the interleaver operation of the transmitter so that the resultant deinterleaved bits or bytes are correctly ordered, and the de-randomizer to match the starting point of the pseudo-random sequence used in the transmitter to flatten the spectrum.
Conventional systems often provide for receiver frame synchronization by appending a known pattern of symbols of a fixed length at the beginning or end of the frame. This same pattern repeats every frame, and it often consists of a 2 level (i.e. binary) pseudo-random sequence with favorable auto-correlation properties. This means that while the auto-correlation of the sequence with itself at zero offset yields a large value, if the offset is non-zero the correlation value (side-lobe) is very small. Also the correlation for this frame sync sequence with random symbols will yield a small value. Therefore, if the receiver executes a correlation of the incoming symbols with a stored version of the frame sync pattern, it should expect to yield a large value only at the exact start of each frame. The receiver can then easily determine the starting point of each frame.
There can be several modes of operation for the communication system. The modes can include a variety of combinations of symbol constellations, trellis codes, and interleave patterns. The receiver must have knowledge of the mode in order to successfully recover the transmitted data. This can be achieved by adding additional mode symbols to the frame sync pattern. These mode symbols can be reliably received by using correlation methods since they are sent repeatedly every frame. They can be made even more robust by encoding them using a block code.
Examples of Frame Structure in Existing Systems
With reference to FIG. 1, the ATSC digital television (DTV) terrestrial transmission standard adopted in 1996 provides a system in which data is transmitted in frames. Each frame 10 is composed of 313 segments, and each segment contains 832 symbols for a total of 260,416 symbols per frame. The first four symbols in each segment are segment sync symbols 12 comprising the sequence [+5, −5, −5, +5]. The first segment in each frame is a frame sync segment 14 with 312 data segments 16, 18. Referring now to FIG. 2, frame sync segment 14 has a segment sync 200, a 511 symbol pseudo-random noise (PN511) sequence 202, a 63 symbol pseudo-random noise (PN63) sequence 204, a second PN63 sequence 206 and a third PN63 sequence 208. This is followed by 24 mode symbols 210 indicating that the mode is 8 VSB. Pre-code symbols 214 and reserved symbols 212 complete frame sync segment 14.
The segment sync 200 and PN511 202 symbols are a priori known to the receiver and may be used to acquire frame synchronization via correlation methods. All of the aforementioned symbols come from the set {+5, −5}. The last 12 symbols of this segment are from the set {−7 −5 −3 −1 +1 +3 +5 +7}, and are duplicates of the last 12 symbols of the preceding data field. These are called the precode symbols (not discussed here).
Referring also to FIG. 3, for each of the subsequent 312 segments of the field, referred to as data segments, the 828 symbols 32 following the four segment sync symbols 30 are created from a single 207 byte (1656 bit) Reed-Solomon (RS) code-word by taking 2 bits at a time, trellis encoding them into 3 bits, then mapping each unit of 3 bits to an 8 level symbol from the set (−7 −5 −3 −1 +1 +3 +5 +7).
Another example of framing in a digital communications system is seen in the ISDB-T system. Unlike the single-carrier ATSC system, ISDB-T is a multi-carrier system utilizing coded orthogonal frequency division multiplexing (“COFDM”). For example, mode 1 for ISDB-T uses 1404 carriers. A frame consists of 204 COFDM symbols and each COFDM symbol can be thought of as a combination of 1404 independent QAM symbols, one for each of the carriers. Thus, the frame is composed of a combination of 204×1404=286416 QAM symbols. Of these, 254592 are data, and 31824 comprise both pilot information (which can be used for frame synchronization) and mode information which are scattered throughout the frame in a known pattern. A simplified view of this frame arrangement is shown in FIG. 4. It can be seen that the pilot and mode information is scattered about the frame in a known pattern.
This system has modes that utilize three different QAM constellations—QPSK, 16 QAM, and 64 QAM. It also supports five different trellis coding rates (1/2, 2/3, 3/4, 5/6, 7/8) based on a single punctured mother code. This well-known technique makes it very economical to construct a single Viterbi decoder in the receiver that can easily be adjusted to decode all five of the specified codes. Prior to trellis coding at the transmitter, the data is formed into 204 byte (1632 bits) long RS blocks. While the number of COFDM symbols per frame is always constant, the number of RS blocks per frame varies with the selected mode, but most importantly, that number is always an integer. This allows for easy RS block synchronization in the receiver once frame sync has been established and the trellis code rate is known. In order for this to be true, the number of data bits per frame prior to trellis coding must be evenly divisible by 1632 for all modes.
TABLE 1Data Bits per Frame for ISDB-Tdata bits/frame (before trellis coding)bits/frame aftermode½⅔¾⅚⅞trellis codingQPSK25459233945638188842432044553650918416 QAM509184678912763776848640891072101836864 QAM76377610183681145664127296013366081527552Table 1, above, shows the number of data bits per frame for all the modes (combination of QAM constellation and trellis code rate). In every case the number of data bits per frame is evenly divisible by 1632 (data bits means bits before trellis coding).